package academic.ui.client.gin;

import academic.ui.client.presenter.CreateEventPresenter;
import academic.ui.client.presenter.GamePlacePresenter;
import academic.ui.client.presenter.GamePresenter;
import academic.ui.client.presenter.LoginPresenter;
import academic.ui.client.presenter.AccountPresenter;
import academic.ui.client.presenter.ProductPresenter;
import academic.ui.client.presenter.AppPresenter;
import academic.ui.client.presenter.PrimaryPresenter;
import academic.ui.client.presenter.PrimaryPlacePresenter;
import academic.ui.client.presenter.ProductPlacePresenter;
import academic.ui.client.presenter.CheckoutPresenter;
import academic.ui.client.presenter.ReceiptPresenter;
import academic.ui.client.presenter.RecentDealsPresenter;
import academic.ui.client.presenter.BuyAsGiftPresenter;

import com.google.gwt.inject.client.GinModules;
import com.google.gwt.inject.client.Ginjector;
import com.google.inject.Provider;
import com.gwtplatform.mvp.client.EventBus;
import com.gwtplatform.mvp.client.proxy.PlaceManager;
import com.gwtplatform.mvp.client.proxy.ProxyFailureHandler;

@GinModules({RevealClientModule.class})
public interface RevealGinjector extends Ginjector {
	  PlaceManager getPlaceManager();
	  EventBus getEventBus(); 
	  Provider<AppPresenter> getMainPresenter(); 
	  Provider<PrimaryPresenter> getSecondPresenter();
	  Provider<ProductPresenter> getProductPresenter();
	  Provider<PrimaryPlacePresenter> getThirdPresenter();
	  Provider<ProductPlacePresenter> getEPresenter();
	  Provider<LoginPresenter> getLoginPresenter();
	  Provider<CheckoutPresenter> getFPresenter();
	  Provider<AccountPresenter> getAccountPresenter();
	  Provider<GamePresenter> getGamePresenter();
	  Provider<GamePlacePresenter> getGamePlacePresenter();
	  Provider<ReceiptPresenter> getReceiptPresenter();
	  Provider<RecentDealsPresenter> getRecentDealsPresenter();
	  Provider<BuyAsGiftPresenter> buyAsGiftPresenter();
	  Provider<CreateEventPresenter> createEventPresenter();
	  ProxyFailureHandler getProxyFailureHandler();
	  
}
